home *** CD-ROM | disk | FTP | other *** search
/ Euroscene 1 / Euroscene 1.iso / diskmags / finnish / saku2_9_93.lha / txt / Pilvi.amos < prev    next >
Text File  |  1992-09-02  |  3KB  |  100 lines

  1. 15
  2. 1*
  3. '
  4. '    Tämä on PILVI, Fractaaliesimerkkiohjelma SAKU-lehteen  
  5. '    Tämä optimoimaton räpellys on peräisin: AMOS LIB    
  6. '                                            Innantie 22 a 2 
  7. '                                            80260 Joensuu 
  8. '
  9. '    Jos on ongelmia ohjelmoinnin kanssa tai haluaa tietää viimeiset   
  10. '    uutiset AMOS rintamalta, niin yllä oleva osoite vain kuoreen. 
  11. '    AMOS LIBin toiminta on ilmaista. Vain vastauskuori+postari tarpeen.  
  12. '
  13. '    Huom. Ohjelman saa nopeammaksi käyttämällä TURBO-laajennuksen 
  14. '          nopeita käskyjä........kysy lisätietoja ^ 
  15. '
  16. 'Ruutu auki, paletti sopivaksi, + normaalit tyhjennykset
  17. Screen Open 0,320,256,16,Lowres
  18. Palette $FFF,$EEF,$DDF,$CCF,$BBF,$AAF,$99F,$88F,$77F,$66F,$55F,
  19.         $44F,$33F,$22F,$11F,$F '<- siirrä tämä edelliselle riville!!!
  20. Flash Off 
  21. Curs Off 
  22. Cls 0
  23. '
  24. 'Muuttuja määritykset ja yleistämiset ( Global ) 
  25. J=256 : H=18 : H2=H/2
  26. Global B1,B2,B3,B4,X,Y,J,H,H2
  27. '
  28. 'Pääluuppi 
  29. Repeat 
  30.    For Y=0 To 256-J Step J
  31.       For X=0 To 256-J Step J
  32.          '
  33.          PISTEIDEN_ARVOT
  34.          '
  35.          'keskus
  36.          If Point(J/2+X,J/2+Y)=0 : Rem    Onko piste jo sytytetty 
  37.             R=Rnd(H)-H2 : Rem             Satunnaisuutta peliin  
  38.             A=(B1+B2+B3+B4)/4+R : Rem     Lasketaan uuden pisteen väri   
  39.             If A>15 : A=15 : End If : Rem Tarkistuksia 
  40.             If A<1 : A=1 : End If : Rem     ---II--- 
  41.             Plot J/2+X,J/2+Y,A : Rem      Tulostetaan uusi piste  
  42.          End If 
  43.          '
  44.          'north 
  45.          If Point(J/2+X,0+Y)=0
  46.             R=Rnd(H)-H2
  47.             A=(B1+B2)/2+R
  48.             If A>15 : A=15 : End If 
  49.             If A<1 : A=1 : End If 
  50.             Plot J/2+X,0+Y,A
  51.          End If 
  52.          '
  53.          'south 
  54.          If Point(J/2+X,J+Y)=0
  55.             R=Rnd(H)-H2
  56.             A=(B3+B4)/2+R
  57.             If A>15 : A=15 : End If 
  58.             If A<1 : A=1 : End If 
  59.             Plot J/2+X,J+Y,A
  60.          End If 
  61.          '
  62.          'west
  63.          If Point(0+X,J/2+Y)=0
  64.             R=Rnd(H)-H2
  65.             A=(B1+B3)/2+R
  66.             If A>15 : A=15 : End If 
  67.             If A<1 : A=1 : End If 
  68.             Plot 0+X,J/2+Y,A
  69.          End If 
  70.          '
  71.          'east
  72.          If Point(J+X,J/2+Y)=0
  73.             R=Rnd(H)-H2
  74.             A=(B2+B4)/2+R
  75.             If A>15 : A=15 : End If 
  76.             If A<1 : A=1 : End If 
  77.             Plot J+X,J/2+Y,A
  78.          End If 
  79.          '
  80.       Next 
  81.    Next 
  82.    '
  83.    J=J/2 : Rem Puolitetaan For lauseiden askelta  
  84.    H=H*0.7 : H2=H/2 : Rem Vähennetään satunnaisuuden osuutta 
  85.    '
  86. Until J=1 : Rem Toistetaan kunnes askel =1 
  87. '
  88. Boom 
  89. End 
  90. '
  91. '  
  92. ' Aliohjelma jossa otetaan tarvittavat arvot ruudulta
  93. Procedure PISTEIDEN_ARVOT
  94.    B1=Point(0+X,0+Y)
  95.    B2=Point(J+X,0+Y)
  96.    B3=Point(0+X,J+Y)
  97.    B4=Point(J+X,J+Y)
  98. End Proc
  99.  
  100.